WiFi Direct technology allows WiFi devices to bypass the Access Point (AP) of a conventional WiFi network and to directly connect with one another in a WiFi Direct group. Although a traditional AP is thus bypassed, one of participants in a WiFi Direct group acts as a “soft” AP and is designated as the peer-to-peer Group Owner (P2P GO). The remaining participants in the WiFi Direct group are denoted as P2P clients. One advantage of WiFi Direct technology is that it eliminates the latency associated with routing communication between the WiFi devices via a conventional AP. This feature is particularly appealing for multi-player gaming and other real-time applications. WiFi Direct technology is thus rapidly gaining popularity.
Although WiFi Direct networks are very promising, the establishment of a WiFi Direct connection (which may also be denoted as a P2P connection) between two WiFi-Direct-enabled devices is quite cumbersome and time consuming. To establish a P2P connection, the devices go through several steps including find, GO negotiation, provisioning, and connect steps. In the find step, a device searches and discovers other P2P devices and their configurations. In WiFi Direct, certain conventional WiFi channels are designated as social channels. Each WiFi Direct device selects one of these social channels as its listen channel. Finding other P2P devices typically involves a given P2P device alternating between transmitting probe requests on its social channels and listening for corresponding probe responses from the other P2P devices on its listen channel. In that regard, it may take some time before a probe request transmitted on the correct social channel is acknowledged by a peer device listening on the same channel as its listen channel. When this happens, the peer device and its listen channel are found.
As discussed above, each WiFi group (also referred to as a P2P group) has a single GO that acts as an AP for that group. Thus, once a given WiFi Direct device has found another peer device that is not already a GO, a GO negotiation ensues between the devices. Analogous to a conventional AP, a GO manages and authenticates other peers in the P2P group. In standard group formation, the GO negotiation step involves a handshaking between the devices in which they independently generate a GO Intent parameter. The device declaring the highest value for this parameter becomes the GO. After a P2P device becomes a GO, it operates on an operating channel that may or may not be the same as one of the social channels.
Once a GO has been declared and the devices agree on their respective roles, the devices go through the provisioning step to establish a secure connection using WiFi Simple Configuration (WSC) protocols. The GO serves the role as the AP with an internal registrar to enroll the other device as the P2P client. In this regard, the GO issues network credentials, i.e., security keys, to the P2P client and authenticates the P2P client. Upon successful completion of the provisioning step, the devices go through the final connect step to complete the P2P connection. During the connect step, the GO runs a Dynamic Host Configuration Step (DHCP) to provide the P2P client with Internet Protocol (IP) addresses.
Frequently, it may take a long time for the devices to complete the find and the GO negotiation steps because of the time it takes to align the transmission phase from a searching device with the listening phase of a responding device. This time delay may further increase in a concurrency scenario where a P2P device is also connected to a conventional AP through a base channel. In the concurrency scenario, the P2P device may have to return to its base channel after every unsuccessful alignment of P2P transmission phase and listening phase during the find or GO negotiation steps to minimize the impact on data throughput through the base channel. Furthermore, a P2P device may switch from a client device to a GO dynamically before the GO negotiation is completed, further complicating the find and the group owner negotiation steps. Accordingly, there is a need to minimize the delay when establishing WiFi Direct connections.